package com.smiletrain.activities;

import java.util.Calendar;

import com.smiletrain.R;
import com.smiletrain.activities.base.AbstractActivity;
import com.smiletrain.base.Alarma;
import com.smiletrain.services.AlertaService;
import com.smiletrain.util.AdminAlarma;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.DatePicker;
import android.widget.ImageView;
import android.widget.TimePicker;

public class AddRecordatorioActivity extends AbstractActivity {
	/**
	 * @see android.app.Activity#onCreate(Bundle)
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.add_rec_view);
		super.setFootLayout();
				
		ImageView siguiente = (ImageView) findViewById(R.id.bSiguiente);
        
        siguiente.setOnClickListener(new OnClickListener() {
        	
			@Override
			public void onClick(View v) {
				
				DatePicker fecha = (DatePicker) findViewById(R.id.pFecha);
				TimePicker hora = (TimePicker) findViewById(R.id.pHora);
				
				// Cuando va activarse la alarma
				Calendar calendar = Calendar.getInstance();
				
				calendar.setTimeInMillis(fecha.getDayOfMonth());
				
				calendar.set(
						fecha.getYear(), fecha.getMonth(), fecha.getDayOfMonth(),
						hora.getCurrentHour(), hora.getCurrentMinute());
				
				Alarma alarma = new Alarma(calendar.getTimeInMillis(), caso);

				// Lo que va lanzar la alarma
				Intent myIntent = new Intent(AddRecordatorioActivity.this, AlertaService.class);

				// ID de la alarma
				int random = AdminAlarma.instance.agregarAlarma(alarma);
				
				// Id de lo que se va a lanzar
				myIntent.putExtra("com.smiletrain.alarm.id", random);
				
				// Especificacion de que se va lanzar
				pendingIntent = PendingIntent.getService(AddRecordatorioActivity.this, random, myIntent, 0);

				// Set Up de la alarma
				AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
				
				// Levanta la alarma con el tiempo y la especificacion de que se va a lanzar
				alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
				
				Intent intent = new Intent(AddRecordatorioActivity.this, AlarmasActivity.class);
				startActivity(intent);
			}
			
		});
        
	}
	
	@Override
	public void updateCaso() {
		
	}
	
	private PendingIntent pendingIntent;
	
}
